package org.opens.text.config;

import lombok.Builder;
import lombok.Data;

import java.util.Map;

/**
 * 功能描述
 *
 * @author by zhangyuming
 * @date 2022/9/20
 */
@Data
@Builder
public class ParseFromFileConfig {

    /**
     * 源文件路径
     */
    private String sourceFilePath;

    /**
     * 列的下标, 从1开始
     */
    private Integer columnNameIndex;

    /**
     * 列类型下标, 从1开始
     */
    private Integer columnTypeIndex;

    /**
     * 列注释下标, 从1开始
     */
    private Integer columnCommentIndex;

    /**
     * 列是否非空下标, 从1开始
     */
    private Integer columnIsNotNullIndex;

    /**
     * 是否追加主键
     */
    private boolean appendPrimaryKey;

    /**
     * 追加的主键名称
     */
    private String appendPrimaryKeyName;

    /**
     * 追加的主键类型
     */
    private String appendPrimaryKeyType;

    /**
     * 符号转换map
     */
    private Map<String, String> SymbolConvertMap;

    /**
     * 列切割符号
     */
    private String splitColumnSymbol;

    /**
     * 跳过的行数, 比如说从第三行开始, 默认从第1行开始
     */
    private int skipRowNumber = 1;

    /**
     * 设置的表名
     */
    private String tableName;

    /**
     * 控制指令大写
     */
    private boolean toUpper = false;

    /**
     * 自定义列类型转换
     */
    private Map<String, String> columnTypeConvertMap;

    /**
     * 自定义isNull转换器
     */
    private Map<String, Boolean> customColumnIsNullConvertMap;

}
